﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Vitruvian.Serialization;
using Vitruvian.Serialization.Formatters;
using Vitruvian.Windows.Serialization.Formatters;
using Vitruvian.Logging;
using Vitruvian.Testing;

namespace SpotItComponents
{
    // TODO: Udpate for other game types
    public enum GameType { TimeTrial, Surival, Well, Tower, Poison, HotPotato }
    public enum GameStateType { Created, InProgress, Paused, Won, Aborted }

    /// <summary>
    /// GameInfo class
    /// 
    /// Instance of this class contain sharable data about known games.
    /// </summary>
    [OptimisticSerialization]
    public class GameInfo : Component
    {
        public string Title { get; set; }
        public GameType GameType { get; set; }
        public int MaxNumberOfPlayers { get; set; }
        public PlayingDeck GameDeck { get; set; }
        public List<string> PlayerNames { get; set; }
        public GameStateType State { get; set; }

        public GameInfo() { }
    }
}
